	`timescale 1 ns / 100 ps
	
	module MyComparator16bit_tb;
	
	reg [15:0] A;
	reg [15:0] B;
	wire GT, LT, EQ;
	
	MyComparator16bit dut(
	A, B, GT, LT, EQ
	);
	
	initial begin
		A = 16'hABCD; B = 16'hABCD; #10;
		$display("%4dns  %h  %h  %b  %b  %b  A == B", $time, A, B, GT, LT, EQ);

		A = 16'hABCD; B = 16'hABCC; #10;
		$display("%4dns  %h  %h  %b  %b  %b  A > B", $time, A, B, GT, LT, EQ);

		A = 16'h0000; B = 16'h0000; #10;
		$display("%4dns  %h  %h  %b  %b  %b  A == B", $time, A, B, GT, LT, EQ);

		A = 16'hFFFF; B = 16'hFFFF; #10;
		$display("%4dns  %h  %h  %b  %b  %b  A == B", $time, A, B, GT, LT, EQ);

		A = 16'h1234; B = 16'h4321; #10;
		$display("%4dns  %h  %h  %b  %b  %b  A < B", $time, A, B, GT, LT, EQ);

		A = 16'hFF00; B = 16'hFF01; #10;
		$display("%4dns  %h  %h  %b  %b  %b  A < B", $time, A, B, GT, LT, EQ);

		A = 16'hFFFF; B = 16'h0001; #10;
		$display("%4dns  %h  %h  %b  %b  %b  A > B", $time, A, B, GT, LT, EQ);

		A = 16'h0001; B = 16'hFFFF; #10;
		$display("%4dns  %h  %h  %b  %b  %b  A < B", $time, A, B, GT, LT, EQ);
end
	
	endmodule
